package com.redpack.redpost.util.dao;

import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.redpack.redpost.connection.RedpostConexion;
import com.redpack.redpost.util.to.*;

public class adminDAO {
	
	private adminDAO(  ){
		
	}
	
	public static contenidoSite getContenidoSite( int seccion, String idioma ) throws Exception{
		contenidoSite contenido = new contenidoSite();
		String nombre = generalUtil.obtieneUnaSeccion( Integer.toString(seccion), idioma );
		contenido.setId_seccion( seccion );
		contenido.setNombre( nombre );
		List subsecciones = adminDAO.getSubseccionesBySeccion( seccion , idioma );
		for (int i = 0; i < subsecciones.size(); i++) {
			subseccionesTo subseccion = (subseccionesTo) subsecciones.get(i);
			int id_subseccion = subseccion.getCve_subseccion();
			List contenidos = getContenidosBySubseccion( id_subseccion );
			subseccion.setContenidos( contenidos );
			subseccion.setCount_contenidos( subseccion.getContenidos().size() ) ;
		}
		contenido.setSubsecciones(subsecciones);
		return contenido ;
	}
	
	public static List getContenidosBySubseccion( int subseccion  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List contenidos = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_contenidos where status=1 and subseccion="+subseccion+" order by orden;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				contenidosTo row = new contenidosTo();
				row.setCve_contenido( rs.getInt(1) ) ;
				row.setSubseccion( rs.getString(2) ) ;
				row.setNombre( rs.getString(3) ) ;
				//row.setNombre_b( rs.getString(3) ) ;
				row.setContenido( rs.getString(4) ) ;
				contenidos.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return contenidos ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return contenidos ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static List getSubseccionesBySeccion( int seccion, String idioma  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List subsecciones = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		int lenguaje = 0 ;
		
		if( idioma.equals("Eng") ){
			lenguaje = 2 ;
		}else{
			lenguaje = 1 ;
		}
		
		try{			
			
			sql = "select * from redpost.tbl_subsecciones where status=1 and seccion="+seccion+" and idioma=" + lenguaje + " order by orden;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				subseccionesTo row = new subseccionesTo();
				row.setCve_subseccion( rs.getInt(1) ) ;
				row.setSeccion( generalUtil.obtieneUnaSeccion( rs.getString(2), idioma ) ) ;
				row.setNombre( rs.getString(3) ) ;
				//row.setNombre_b( rs.getString(3) ) ;
				row.setIdioma( generalUtil.obtieneUnIdioma( rs.getString(4) ) ) ;
				subsecciones.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return subsecciones ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return subsecciones ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliMerc ( int cve_mercancia ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_mercancias set status=2 where cve_mercancia=" +cve_mercancia;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static mercanciasTo getMercancia( int cve_mercancia )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		mercanciasTo mercancia = new mercanciasTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_mercancias where status=1 and cve_mercancia="+cve_mercancia+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				mercancia.setCve_mercancia( rs.getInt(1) );
				mercancia.setNombre( rs.getString(2) );
				mercancia.setIdioma( rs.getInt(3) );
				mercancia.setImpuesto( rs.getFloat(4) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return mercancia ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return mercancia ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getMercancias(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List mercancias = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_mercancias where status=1 order by cve_mercancia;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				mercanciasTo row = new mercanciasTo();
				row.setCve_mercancia( rs.getInt(1) );
				row.setNombre( rs.getString(2) );
				row.setIdioma( rs.getInt(3) );
				row.setImpuesto( rs.getFloat(4) );
				mercancias.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return mercancias ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return mercancias ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updMercancia(int cve_mercancia,int idioma , String nombre, float impuesto )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{
			sql = "UPDATE redpost.tbl_mercancias set idioma="+idioma+", impuesto="+impuesto+", nombre='"+nombre+"' where cve_mercancia=" +cve_mercancia;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveMercancia( String nombre, int idioma, float impuesto )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_mercancias(nombre, idioma, impuesto, status) VALUES ('"+nombre+"', "+idioma+", "+impuesto+", 1);" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliContacto( int cve_contacto ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_contacto set status=2 where cve_contacto=" +cve_contacto;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
	public static boolean eliRecomendacion( int cve_recomendacion) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_recomendacion set status=2 where cve_recomendacion=" +cve_recomendacion;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static List getRecomendaciones( String fecha_inicio , String fecha_fin )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List recomendaciones = new ArrayList(); 
		boolean res = false ;
		String sql = "" , qry_fecha = "" ;
		
		try{			
			
			if( fecha_inicio != null && fecha_fin != null ){
				qry_fecha = " and fechaderegistro >= cast('"+fecha_inicio+"' as date) and fechaderegistro <= cast('"+fecha_fin+"' as date) ";
			}
			
			sql = "select * from redpost.tbl_recomendacion where status=1 "+qry_fecha+" order by cve_recomendacion desc;" ;
			System.out.print(sql);
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				recomendacionesTo row = new recomendacionesTo();
				row.setCve_recomendacion( rs.getInt(1) );
				row.setPara_nombre( rs.getString(2) );
				row.setPara_email( rs.getString(3) );
				row.setDe_nombre( rs.getString(4) );
				row.setDe_email( rs.getString(5) );
				row.setComentario( rs.getString(6) );
				row.setFechaderegistro( rs.getString(8) );
				
				recomendaciones.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return recomendaciones ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return recomendaciones ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static List getContactos(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List contactos = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_contacto where status=1 order by cve_contacto desc;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				contactoTo row = new contactoTo();
				row.setCve_contacto( rs.getInt(1) );
				row.setFechaderegistro( rs.getString(2) );
				row.setNombre( rs.getString(3) );
				row.setEmail( rs.getString(4) );
				row.setAsunto( rs.getString(5) );
				row.setSugerencia( rs.getString(6) );
				contactos.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return contactos ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return contactos ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliFaq ( int cve_faq ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_faqs set status=2 where cve_faq=" +cve_faq;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static faqsTo getFaq( int cve_faq )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		faqsTo faq = new faqsTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_faqs where status=1 and cve_faq="+cve_faq+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				faq.setCve_faq( rs.getInt(1) );
				faq.setPregunta( rs.getString(2) );
				faq.setRespuesta( rs.getString(3) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return faq ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return faq ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getFaqs(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List faqs = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_faqs where status=1 order by cve_faq;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				faqsTo row = new faqsTo();
				row.setCve_faq( rs.getInt(1) );
				row.setPregunta( rs.getString(2) );
				row.setRespuesta( rs.getString(3) );
				faqs.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return faqs ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return faqs ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updFaq(int cve_faq, String pregunta, String respuesta )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{
			sql = "UPDATE redpost.tbl_faqs set pregunta='"+pregunta+"', respuesta='"+respuesta+"' where cve_faq=" +cve_faq;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveFaq( String pregunta, String respuesta )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_faqs(pregunta, respuesta, status) VALUES ('"+pregunta+"', '"+respuesta+"', 1);" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliMultimedia ( int cve_multimedia ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_multimedia set status=2 where cve_multimedia=" +cve_multimedia;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static multimediaTo getMultimedia( int cve_multimedia )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		multimediaTo multimedia = new multimediaTo(); 
		
		String sql = "";
		
		
		try{			
			
			sql = "select * from redpost.tbl_multimedia where status=1 and cve_multimedia="+cve_multimedia+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();
			
			while (rs.next()) {
				multimedia.setCve_multimedia( rs.getInt(1) );
				multimedia.setTeaser( rs.getInt(2) );
				multimedia.setSlide( rs.getInt(3) );
				multimedia.setNombre( rs.getString(4) );
				multimedia.setArchivo( rs.getString(5) );
				multimedia.setLink( rs.getString(8) );
				multimedia.setText( rs.getString(9) );
				multimedia.setTipo( rs.getInt(6) );
				multimedia.setOrden( rs.getInt(11) );
				multimedia.setCategoria(rs.getString(10));
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return multimedia ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return multimedia ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getMultimedia( String filtro, String texto, int tipo )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List multimedia = new ArrayList(); 
		boolean res = false ;
		String sql = "",
				filtro_qry = "";
		switch ( Integer.parseInt(filtro) ) {
		case 1:
			/*
			 * Solo contenido de Slides
			 * */
			filtro_qry = "and slide>0 and tipo=1" ;
			break;
		case 2:
			/*
			 * Solo contenido de Teaser
			 * */
			filtro_qry = "and teaser>0 and tipo=1" ;
			break;
		case 3:
			/*
			 * Solo contenido de Tienda
			 * */
			filtro_qry = "and slide=0 and teaser=0 and tipo=2 and categoria='"+texto+"' " ;
			break;
		}
		
		try{			
			
			sql = "select * from redpost.tbl_multimedia where tipo="+tipo+" and  status=1 "+filtro_qry+" order by cve_multimedia;" ;
//			System.out.print("filtro multimedia: "+sql);
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				multimediaTo row = new multimediaTo();
				row.setCve_multimedia( rs.getInt(1) );
				row.setTeaser( rs.getInt(2) );
				row.setSlide( rs.getInt(3) );
				row.setNombre( rs.getString(4) );
				row.setArchivo( rs.getString(5) );
				row.setTipo( rs.getInt(6) );
				row.setLink( rs.getString(8) );
				row.setText( rs.getString(9) );
				multimedia.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return multimedia ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return multimedia ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updMultimedia(int cve_multimedia,int teaser , int slide, String nombre, String archivo, int tipo, String link, String text, int orden, String categoria, int quitar_imagen )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "";
		String sql_file = ""  ;
		
		try{
			if ( archivo != "" && archivo != null ){
				sql_file = ", archivo='"+archivo+"'";
			}
			
			if( quitar_imagen == 1 ){
				sql_file = ", archivo=''";
			}
			
			sql = "UPDATE redpost.tbl_multimedia set orden="+orden+",teaser="+teaser+", slide="+slide+", nombre='"+nombre+"', link='"+link+"', text='"+text+"', tipo="+tipo+sql_file+", categoria='"+categoria+"' where cve_multimedia=" +cve_multimedia;			
			System.out.print(sql);
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveMultimedia( int teaser , int slide, String nombre, String archivo, int tipo, String link, String text, int orden , String categoria )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			if( tipo == 2 ){
				sql = "INSERT INTO redpost.tbl_multimedia(orden,teaser, slide, nombre, archivo, tipo, status,link,text,categoria) VALUES ("+orden+","+teaser+", "+slide+", '"+nombre+"', '"+archivo+"', "+tipo+", 1, '"+link+"', '', '"+categoria +"');" ;
			}else
				if( tipo == 1 ){
					sql = "INSERT INTO redpost.tbl_multimedia(orden,teaser, slide, nombre, archivo, tipo, status,link,text,categoria) VALUES ("+orden+","+teaser+", "+slide+", '"+nombre+"', '"+archivo+"', "+tipo+", 1, '"+link+"', '"+text+"', '');" ;
				}
			
			System.out.println("QUERY=== " + sql) ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliSlide ( int cve_slide ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_slides set status=2 where cve_slide=" +cve_slide;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static slidesTo getSlide( int cve_slide)throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		slidesTo slide = new slidesTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_slides where status=1 and cve_slide="+cve_slide+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				slide.setCve_slide( rs.getInt(1) );
				slide.setContenido( rs.getString(2) );
				slide.setNombre( rs.getString(3) );
				slide.setIdioma( rs.getInt(5) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return slide ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return slide ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getSlides(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List teasers = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_slides where status=1 order by cve_slide;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				slidesTo row = new slidesTo();
				row.setCve_slide( rs.getInt(1) ) ;
				row.setContenido( rs.getString(2) ) ;
				row.setNombre( rs.getString(3) ) ;
				teasers.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return teasers ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return teasers ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updSlide(int cve_slide,String nombre, int contenido, int idioma )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_slides set idioma="+idioma+",nombre='"+nombre+"',contenido="+contenido+" where cve_slide=" +cve_slide;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveSlide( String nombre , int contenido, int idioma )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_slides(nombre, contenido, status,idioma) VALUES ('"+nombre+"', "+contenido+", 1,"+idioma+");" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliTeaser ( int cve_teaser ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_teasers set status=2 where cve_teaser=" +cve_teaser;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static teasersTo getTeaser( int cve_teaser)throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		teasersTo teaser = new teasersTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_teasers where status=1 and cve_teaser="+cve_teaser+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				teaser.setCve_teaser( rs.getInt(1) );
				teaser.setContenido( rs.getString(2) );
				teaser.setNombre( rs.getString(3) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return teaser ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return teaser ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getTeaser(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List teasers = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_teasers where status=1 order by cve_teaser;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				teasersTo row = new teasersTo();
				row.setCve_teaser( rs.getInt(1) ) ;
				row.setContenido( rs.getString(2) ) ;
				row.setNombre( rs.getString(3) ) ;
				teasers.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return teasers ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return teasers ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updTeaser(int cve_teaser,String nombre, int contenido )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_teasers set nombre='"+nombre+"',contenido="+contenido+" where cve_teaser=" +cve_teaser;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveTeaser( String nombre , int contenido )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_teasers(nombre, contenido, status) VALUES ('"+nombre+"', "+contenido+", 1);" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}

	public static boolean eliContenido ( int cve_contenido ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		//coment defgregr
		try{

			sql = "UPDATE redpost.tbl_contenidos set status=2 where cve_contenido=" +cve_contenido;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
	public static List getContenidos(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List contenidos = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select c.*,s.nombre as subseccion from redpost.tbl_contenidos as c left outer join redpost.tbl_subsecciones as s on s.cve_subseccion=c.subseccion where c.status=1 order by cve_contenido;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				contenidosTo row = new contenidosTo();
				row.setCve_contenido( rs.getInt(1) ) ;
				row.setSubseccion( rs.getString(7) ) ;
				row.setNombre( rs.getString(3) ) ;
				row.setContenido( rs.getString(4) ) ;
				contenidos.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return contenidos ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return contenidos ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static contenidosTo getContenido( int cve_contenido )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		contenidosTo contenido = new contenidosTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select c.*,s.nombre as subseccion from redpost.tbl_contenidos as c left outer join redpost.tbl_subsecciones as s on s.cve_subseccion=c.subseccion where c.status=1 and c.cve_contenido="+cve_contenido+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				contenido = new contenidosTo();
				contenido.setCve_contenido( rs.getInt(1) );
				contenido.setContenido( rs.getString(4) );
				contenido.setNombre( rs.getString(3) );
				contenido.setSubseccion( rs.getString(2) );
				contenido.setOrden( rs.getInt(6) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return contenido ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return contenido ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updContenido(int cve_contenido,String nombre ,String contenido,int subseccion, int orden )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_contenidos set nombre='"+nombre+"',subseccion="+subseccion+",orden="+orden+",contenido='"+contenido+"' where cve_contenido=" +cve_contenido;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean saveContenido( String nombre , String contenido , int subseccion, int orden )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_contenidos(subseccion, nombre, contenido, status, orden) VALUES ("+subseccion+", '"+nombre+"', '"+contenido+"', 1,"+orden+");" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updSubseccion(int cve_subseccion,String nombre ,int idioma,int seccion, int orden )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_subsecciones set nombre='"+nombre+"',seccion="+seccion+",idioma="+idioma+",orden="+orden+" where cve_subseccion=" +cve_subseccion;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean eliSubseccion ( int cve_subseccion )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_subsecciones set status=2 where cve_subseccion=" +cve_subseccion;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
	public static UserToAdmin loginUserAdmin( String user, String pass) throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		UserToAdmin to = null;
		String sql = "" ;
		
try {
        	
        	sql = "select nombre,cve_useradmin,tipousuario from redpost.tbl_useradmin where usr = '"+user+"' and pass = '"+pass+"' and status=1 ";
        	System.out.println( sql ) ;
        	
            ps = conn.prepareStatement( sql );

            rs = ps.executeQuery();

            
            while (rs.next()) {
                to = new UserToAdmin( rs.getString(1), rs.getString(2), rs.getInt(3),true);
            }

            conn.commit( ) ;
			rs.close( ) ;
			ps.close( ) ;
			conn.close( ) ;

            // en caso de que si haya usuario
            return to;

        } catch (Exception e) {
            e.printStackTrace();
            return to;
        } finally {
            if (conn != null) {
                conn.close();
            }
        }
	}
	
public static subseccionesTo getSubseccion( int cve_subseccion  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		subseccionesTo subseccion = new subseccionesTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_subsecciones where status=1 and cve_subseccion="+cve_subseccion+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				subseccion = new subseccionesTo();
				subseccion.setCve_subseccion( rs.getInt(1) );
				subseccion.setIdioma( rs.getString(4) );
				subseccion.setNombre( rs.getString(3) );
				subseccion.setSeccion( rs.getString(2) );
				subseccion.setOrden( rs.getInt(6) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return subseccion ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return subseccion ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static List getSubsecciones(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List subsecciones = new ArrayList(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_subsecciones where status=1 order by cve_subseccion;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				subseccionesTo row = new subseccionesTo();
				row.setCve_subseccion( rs.getInt(1) ) ;
				row.setSeccion( generalUtil.obtieneUnaSeccion( rs.getString(2), "" ) ) ;
				row.setNombre( rs.getString(3) ) ;
				row.setIdioma( generalUtil.obtieneUnIdioma( rs.getString(4) ) ) ;
				subsecciones.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return subsecciones ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return subsecciones ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean saveSubseccion( String nombre , int idioma , int seccion, int orden )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_subsecciones(seccion, nombre, idioma, status,orden) VALUES ("+seccion+", '"+nombre+"', "+idioma+", 1,"+orden+");" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean editTeaser( int cve , int num, String texto, byte[ ] fileData , String dir, String nombreImg ) throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" , 
				name = "SobreRedpost_Teaser-" + num ,
				finalName = "" ;
		
		try{
			
			finalName = guardaImagen( name , fileData , dir,  nombreImg ) ;
			
			sql = "UPDATE redpost.tbl_admin_sobre_redpost_teasers " +
					"SET nombre_imagen= '"+ finalName +"', texto = '"+ texto +"' " ;
			
			int  r = ps.executeUpdate( sql ) ;
			
			if( r == 1 )
				res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
						
	}
	
	public static String guardaImagen( String fileName, byte[ ] fileData , String dir, String nombreImg ) throws Exception {
		
		String res = "" ;
		nombreImg = "" + dir + "" + nombreImg ;
		
		// abre el directorio
		File anterior = new File( nombreImg ) ;
		
		anterior.delete( ) ;
				
		
		// genera un numero aleatorio
		int valorDado = ( int ) Math.floor( Math.random( )*999+1 ) ;
		
		fileName = fileName + "" + valorDado ;
		res = fileName ; 
		
		fileName = "" + dir + "" + fileName ;
		
		// abre el archivo
		File fileFile = new File( fileName ) ;
		
		try{
			// abre stream de datos
			FileOutputStream out = new FileOutputStream( fileFile ) ;
					
			// guarda datos
			out.write( fileData ) ;
					
			// cierra
			out.close( ) ;
			
			return res ;
		}catch( Exception e ){
			
			e.printStackTrace( ) ;
			
		}
		
		return res ;
		
	}
	
	public static List getFaqsAdmon( )throws Exception {

		Connection conn = RedpostConexion.openConnection( ) ;

		conn.setAutoCommit( false ) ;

		PreparedStatement ps = null ;

		ResultSet rs = null ;

		List faqs = new ArrayList();

		boolean res = false ;

		String sql = "" ;

		try{

		sql = "select * from redpost.tbl_faqs where status=1 order by cve_faq;" ;

		ps = conn.prepareStatement( sql ) ;

		rs = ps.executeQuery();

		res = true ;

		while (rs.next()) {

		faqsTo row = new faqsTo();

		row.setCve_faq( rs.getInt(1) );

		row.setPregunta( rs.getString(2) );

		row.setRespuesta( rs.getString(3) );

		row.setRespuesta( rs.getString(3) );

		row.setIdioma( rs.getInt(5) );

		faqs.add( row );

		}

		conn.commit( ) ;

		ps.close( ) ;

		conn.close( ) ;

		return faqs ;

		}catch ( Exception e ) {

		e.printStackTrace( ) ;

		return faqs ;

		} finally {

		if (conn != null) {

		conn.close();

		}

		}

		}
	public static List getFaqs( String idioma )throws Exception {

		Connection conn = RedpostConexion.openConnection( ) ;

		conn.setAutoCommit( false ) ;

		PreparedStatement ps = null ;

		ResultSet rs = null ;

		List faqs = new ArrayList();

		boolean res = false ;

		String sql = "", sql_idioma = "" ;

		try{

		if( idioma.equals("Eng") ){

		sql_idioma = " and idioma=2 ";

		}else{
			sql_idioma = " and idioma=1 ";
		}

		sql = "select * from redpost.tbl_faqs where status=1 "+sql_idioma+" order by cve_faq;" ;
		System.out.println( sql) ;

		ps = conn.prepareStatement( sql ) ;

		rs = ps.executeQuery();

		res = true ;

		while (rs.next()) {

		faqsTo row = new faqsTo();

		row.setCve_faq( rs.getInt(1) );

		row.setPregunta( rs.getString(2) );

		row.setRespuesta( rs.getString(3) );

		row.setRespuesta( rs.getString(3) );

		row.setIdioma( rs.getInt(5) );

		faqs.add( row );

		}

		conn.commit( ) ;

		ps.close( ) ;

		conn.close( ) ;

		return faqs ;

		}catch ( Exception e ) {

		e.printStackTrace( ) ;

		return faqs ;

		} finally {

		if (conn != null) {

		conn.close();

		}

		}

		}
	
	public static boolean updFaq(int cve_faq, String pregunta, String respuesta, int idioma )throws Exception{

		Connection conn = RedpostConexion.openConnection( ) ;

		conn.setAutoCommit( false ) ;

		PreparedStatement ps = null ;

		boolean res = false ;

		String sql = "" ;

		try{

		sql = "UPDATE redpost.tbl_faqs set idioma="+idioma+",pregunta='"+pregunta+"', respuesta='"+respuesta+"' where cve_faq=" +cve_faq;

		ps = conn.prepareStatement( sql ) ;

		ps.execute();

		res = true ;

		conn.commit( ) ;

		ps.close( ) ;

		conn.close( ) ;

		return res ;

		}catch ( Exception e ) {

		e.printStackTrace( ) ;

		return res ;

		} finally {

		if (conn != null) {

		conn.close();

		}

		}

		}

		public static boolean saveFaq( String pregunta, String respuesta, int idioma )throws Exception {

		Connection conn = RedpostConexion.openConnection( ) ;

		conn.setAutoCommit( false ) ;

		PreparedStatement ps = null ;

		boolean res = false ;

		String sql = "" ;

		try{

		sql = "INSERT INTO redpost.tbl_faqs(pregunta, respuesta, status, idioma) VALUES ('"+pregunta+"', '"+respuesta+"', 1, "+idioma+");" ;

		ps = conn.prepareStatement( sql ) ;

		ps.execute( ) ;

		res = true ;

		conn.commit( ) ;

		ps.close( ) ;

		conn.close( ) ;

		return res ;

		}catch ( Exception e ) {

		e.printStackTrace( ) ;

		return res ;

		} finally {

		if (conn != null) {

		conn.close();

		}

		}

		}
		
		
		
		
		
		
		

}